home *** CD-ROM | disk | FTP | other *** search
- IDBSPWAT.ZIP is a descendant of Ron Rossbach's DOS port of id software's
- BSP node building code. My thanks to him for the port. My thanks to id
- for Doom and for releasing all this source. My thanks to all hackers for
- creating/releasing cool stuff. My thanks to A Current Affair for giving me
- a good reason to go to sleep at night....
-
- #ifdef (you need legal crap)
- First, let me say that I have provided this because I think it might be
- of use to someone else. If it is not, fine. I make no claims about its
- speed, validity, dependability, stability, or any other idity that you
- can think of. If it makes your computer go up in smoke, I am sorry; however,
- I cannot (will not) be held responsible.
-
- My version of this code is in no way affiliated with id software or Ron
- Rossbach and they cannot be held accountable for it, and will not support
- it in any form.
-
- I donate my modifications to the code to public domain. This code (namely
- my modifications) may be changed, convoluted, contorted, snorted, whatever
- in whatever way anyone sees fit with no obligation to me. It may also be
- freely distributed.
- #endif
-
- There are a few reasons that I have done to this program that I have found
- useful, so I thought I would upload it.
-
- - I have recompiled with Watcom C under ultra-optimization. I have found
- on my computer that this will build wad files 20%-40% faster that the
- original djgpp version. I can now build any id level in under 30 sec.
- This is the main reason I have distributed it. BTW, if you don't have
- this compiler, I HIGHLY recommend it, especially now because they have
- very competitive pricing.
-
- - I have found the bug that creates our famous "slime-stream" by the IMP
- in E1M1 (and on other levels). The unfortunate thing is that it cannot
- be completely rectified as is. Let's just say it has to do with floating
- point errors/rounding, and since Doom actually stores this info as a
- long int, some rounding will have to be done (If anyone is interested
- in the particulars, e-mail me and I will belabor the point beyond your
- wildest imaginations). However, what I have done is seriously minimized
- this bugs presence and frequency. In the original, I have probably seen
- > 30 instances of these bugs (10 that I know of for sure). With these
- fixes, I only know of one. Also, any version of this bug that may crop
- up will be a maximum of 1 pixel wide (as opposed to 4 before) so as to
- be all but unnoticable.
-
- - I have seriously decreased the size/complexity of the "PointOnSide"
- function which is called MANY times in the nodes building process. This
- should be particularly evident to those of us without a math coprocessor
- (since this function deals with floats), but I can't substantiate that
- since I have one :)
-
- - I have fixed a few other minor things that Watcom wasn't liking.
-
- I have left the code entirely intact, and have put everything that I
- have done in <#ifdef _STEVE_FIX [my new code] #else [old code] #endif>
- conditional compiler directives. Sooo, you should be able to see what
- I did very easily (really doesn't look like too much, huh), and change
- it back to the old way if you want for some reason.
-
- I have included the makefile, linker file and anything else I could think
- of in the source directory. I have included the Rational System DOS4GW
- extender for those who don't already have it.
-
- Anyway, that should about do it.
-
- If anyone has any suggestions, comments, observations, money, just drop
- me a line.
-
- Steve Larsen
- larsen@sunset.cs.utah.edu
- larsen@unislc.slc.unisys.com
-
-
-
-
-